import { getAction } from '@/api/controller';

export interface FirstLevelDepartmentReqParams {
  /**
   * 名称
   */
  name?: string
}

export interface DepartmentClassRespVO {
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 科室位置
   */
  deptSiteDescribe?: string
  /**
   * 唯一编号
   */
  id?: number
  /**
   * 图片地址
   */
  imageUrl?: string
  /**
   * 介绍
   */
  introduce?: string
  /**
   * 名称
   */
  name?: string
  /**
   * 备注
   */
  remark?: string
  /**
   * 状态
   */
  status?: number
}

export interface DepartmentInfoRespVO {
  /**
   * 科室地址
   */
  address?: string
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 创建者
   */
  creator?: string
  /**
   * 创建者
   */
  creatorName?: string
  /**
   * 科室代码
   */
  departCode?: string
  /**
   * 科室名称
   */
  departName?: string
  /**
   * 科室外部代码
   */
  departOutCode?: string
  /**
   * 科室id
   */
  id?: number
  /**
   * 是否是本部
   */
  isHeadquarter?: number
  /**
   * 备注
   */
  remarks?: string
  /**
   * 排序
   */
  sort?: number
  /**
   * 状态 0启用，1停用
   */
  status?: number
  /**
   * 科室电话
   */
  telephone?: string
  /**
   * 修改者
   */
  updater?: string
  /**
   * 修改者
   */
  updaterName?: string
  /**
   * 修改时间
   */
  updateTime?: string
}

export interface DepartmentInfoClassRespVO {
  /**
   * 科室地址
   */
  address?: string
  /**
   * 科室编码
   */
  departCode?: string
  /**
   * 科室分类名称
   */
  departmentClassName?: string
  /**
   * 科室id
   */
  departmentId?: number
  /**
   * 科室名称
   */
  departmentName?: string
  /**
   * 科室分类id
   */
  parentId?: number
  /**
   * 科室介绍
   */
  remarks?: string
  /**
   * 科室电话
   */
  telephone?: string
  /**
   * 科室介绍
   */
  introduce?: string
  /**
   * 科室名称
   */
  name?: string
}

export const DepartmentClassApi = {
  /**
   * 获取一级科室列表
   * @param params
   * @returns
   */
  getFirstLevelDepartmentList: (params: FirstLevelDepartmentReqParams) => {
    return getAction<DepartmentClassRespVO[]>('/healthcare/department-class/list', params);
  },

  /**
   * 通过一级科室id获取二级科室列表
   * @param id
   * @returns
   */
  getSecondLevelDepartmentList: (id: number) => {
    return getAction<DepartmentInfoRespVO[]>('/healthcare/department-class/getSecondaryDepartmentClassList', { id });
  },

  /**
   * 通过二级科室id获取一级科室
   * @param id
   */
  getParentDept: (id: number) => {
    return getAction<DepartmentInfoClassRespVO>('/healthcare/department-class/getOneDepartmentSecondaryList', { id });
  }
};
